package crm.benedicto.logica;

import crm.benedicto.excepciones.BusinessException;
import crm.benedicto.beans.Cliente;
import crm.benedicto.beans.Prospecto;
import crm.benedicto.dao.ProspectoDao;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author HCornejo
 */
public class ProspectoLogica {
    private ArrayList<Cliente> clientes;
    private ArrayList<Prospecto> prospectos;

    public ProspectoLogica() {
//        clientes=new ArrayList<Cliente>();
//        prospectos=new ArrayList<Prospecto>();
        
    }
    
    public List ListarProspecto(Prospecto ProspectoBE) throws Exception {
    List lProspecto;
    ProspectoDao obj = new ProspectoDao();
    lProspecto = obj.ListarProspecto(ProspectoBE);
    

    return lProspecto;
    }
    
    
    public int EliminarProspecto(Prospecto ProspectoBE) throws Exception {
        int resultado;
        ProspectoDao obj = new ProspectoDao();
        resultado = obj.EliminarProspecto(ProspectoBE);
        return resultado;
    }

    public int InsertarProspecto(Prospecto ProspectoBE) throws Exception {
        int resultado;
        //validarMandatorios(ProspectoBE);
        ProspectoDao obj = new ProspectoDao();

        resultado = obj.InsertarProspecto(ProspectoBE);
        return resultado;
    }

    public int ActualizarProspecto(Prospecto ProspectoBE) throws Exception {
        int resultado;
        ProspectoDao obj = new ProspectoDao();

        resultado = obj.ActualizarProspecto(ProspectoBE);
        return resultado;
    }
    
//    private void validarMandatorios(Prospecto ProspectoBE)
//            throws BusinessException 
//        {
//        String mensaje = "";
//        if (ProspectoBE.getDni() == null || ProspectoBE.getDni().isEmpty())
//            mensaje += "DNI no puede ser vacio o nulo";
//        if (ProspectoBE.getNombre() == null || ProspectoBE.getNombre().isEmpty())
//            mensaje += "\nNombre no puede ser vacio o nulo";
//        if (ProspectoBE.getApellidopaterno() == null || ProspectoBE.getApellidopaterno().isEmpty())
//            mensaje += "\nApellido paterno no puede ser vacio o nulo";
//        if (ProspectoBE.getApellidomaterno() == null || ProspectoBE.getApellidomaterno().isEmpty())
//            mensaje += "\nApellido materno no puede ser vacio o nulo";
//        if (ProspectoBE.getEmail() == null || ProspectoBE.getEmail().isEmpty())
//            mensaje += "\nEmail no puede ser vacio o nulo";
//        if (ProspectoBE.getTelefono() == null || ProspectoBE.getTelefono().isEmpty())
//            mensaje += "\nTelefono no puede ser vacio o nulo";
//        if (! mensaje.isEmpty())
//            throw new BusinessException(mensaje);      
//    }
    
    
//    public void registrarCliente(String nombre,String apellidopat,String apellidomat,String email,String dni,String telefono,String celular,String fechacontacto) 
//            throws BusinessException 
//    {
//        validarDatos(dni, nombre, apellidopat,email);
//        validarDuplicidad(dni,"cliente");
//        
//        // Crear un nuevo producto
//        Cliente nuevoCliente = new Cliente(nombre, apellidopat, apellidomat, email, dni, telefono, celular, fechacontacto);
//        // Ponerlo como  parte de la coleccion
//        clientes.add(nuevoCliente);
//    }
//    
//    public void registrarProspecto(String nombre,String apellidopat,String apellidomat,String email,String dni,String telefono,String celular,String fechacontacto) 
//            throws BusinessException 
//    {
//        validarDatos(dni, nombre, apellidopat,email);
//        validarDuplicidad(dni,"prospecto");
//        
//        // Crear un nuevo producto
//        Prospecto nuevoProspecto = new Prospecto(nombre, apellidopat, apellidomat, email, dni, telefono, celular, fechacontacto);
//        // Ponerlo como  parte de la coleccion
//        prospectos.add(nuevoProspecto);
//    }
//    
//    
//       
//    
//    public Cliente buscarCliente(String dni) {
//        //bucle que corre desde una variable cliente hasta el arreglo cliente
//        for(Cliente cliente : clientes)
//            if (cliente.getDni().equals(dni))
//                return cliente;
//        return null;
//    }
//    
//    public Prospecto buscarProspecto(String dni) {
//        //bucle que corre desde una variable cliente hasta el arreglo cliente
//        for(Prospecto prospecto : prospectos)
//            if (prospecto.getDni().equals(dni))
//                return prospecto;
//        return null;
//    }
//    
//        
//     public void eliminarCliente(String dni) {
//        Cliente cliente = buscarCliente(dni);
//        if (cliente != null)
//            clientes.remove(cliente);
//    }
//     
//    public void eliminarProspecto(String dni) {
//        Prospecto prospecto = buscarProspecto(dni);
//        if (prospecto != null)
//            prospectos.remove(prospecto);
//    }
//     
//          
//    private void validarDatos(String dni,String nombre, String apellidopat, String email)
//            throws BusinessException 
//    {
//        validarMandatorios(dni, nombre, apellidopat, email);
//       // validarDuplicidad(dni);
//    }
//    
//        private void validarDuplicidad(Prospecto ProspectoBE) 
//            throws BusinessException 
//        {
//                        
//            if(flag=="cliente"){
//                if (buscarCliente(dni) != null){
//                    String mensaje = "Error : " + dni + " ya existe";
//                    // Crear la excepcion y lanzarla
//                    throw new BusinessException(mensaje);
//                }
//            }else{
//                if (buscarProspecto(dni) != null || buscarCliente(dni) != null){
//                String mensaje = "Error : " + dni + " ya existe";
//                // Crear la excepcion y lanzarla
//                throw new BusinessException(mensaje);
//                }
//
//            }
//        
//        }
//        


}
